package cn.xinfei.xdecision.manager.web.aop;

import cn.xinfei.xdecision.common.utils.constant.OperateTypeEnum;
import io.swagger.annotations.ApiOperation;

import java.lang.annotation.*;

/**
 * ClassName:ArchivesLog <br/>
 * Description: 日志操作类型注解. <br/>
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})  
@Retention(RetentionPolicy.RUNTIME)  
@Documented  
public @interface ArchivesLog {

    /**
     * 操作模块
     *
     * 为空时，读取 {@link io.swagger.annotations.Api#value()} 属性
     */
    String module() default "";

	/**
	 * 操作名称
	 *
	 * 为空时，读取 {@link ApiOperation#value()} 属性
	 */
	String name() default "";

	/**
	 * 操作分类
	 *
	 * @see cn.xinfei.xdecision.common.utils.constant.OperateTypeEnum
	 */
	OperateTypeEnum[] type() default {};

	/**
	 * 是否记录方法参数
	 */
    boolean logArgs() default true;

	/**
	 * 是否记录方法结果的数据
	 */
	boolean logResultData() default true;


    String operationType() default "";

    String operationName() default "";
    
}
